Aspect-Oriented Programming is Quantification and Obliviousness
نویسندگان
چکیده
This paper proposes that the distinguishing characteristic of Aspect-Oriented Programming (AOP) systems is that they allow programming by making quantified programmatic assertions over programs written by programmers oblivious to such assertions. Thus, AOP systems can be analyzed with respect to three critical dimensions: the kinds of quantifications allowed, the nature of the actions that can be asserted, and the mechanism for combining base-level actions with asserted actions. Consequences of this perspective are the recognition that certain systems are not AOP and that some mechanisms are expressive enough to allow programming an AOP system within them. A corollary is that while AOP can be applied to Object-Oriented Programming, it is an independent concept applicable to other programming styles.
منابع مشابه
Analyzing the Effects of Aspect Properties on Model Composition Effort: A Replicated Study
Nowadays, model composition plays a central role on software engineering activities. For example, reconciling design models developed in parallel by different software development teams. It can be defined as a set of activities that should be performed over two input models, MA and MB, to produce an output composed model, MCM. Usually, the problem is that the MCM does not correspond to the outp...
متن کاملAn Aspect Oriented Approach to Introduce Aspects in the Operating System
Software systems are very inflexible towards modification of already existing functionalities such as security, dynamic re-configurability, robustness etc. In such functionalities if need arises for any enhancements then it affects large fractions of the code. Thus results in difficult to implement. Such functional enhancements in any component of the system that affect large fractions of the p...
متن کاملDetecting Change Patterns in Aspect Oriented Software Evolution: Rule-based Repository Analysis
Interesting information and Meta-information about software systems can be extracted by analyzing their evolution histories. This information has been proved useful for understanding software evolution, predicting future changes, and performing an efficient change impact analysis. A rich source code repository is a prerequisite for a high quality evolution analysis. Nonetheless, the evolutionar...
متن کاملAn Approach to Test Aspect-oriented Programs
challenges is aspect-oriented paradigm, which has a dichotomy of core and crosscutting concerns. Since emergent behavior of the aspects during their interaction with objects, and inter dependencies not only incurring challenges for testing, but also alludes to creation of innovative testing techniques. Several faults are introduced by aspects. In this paper, we have surveyed all the existing te...
متن کاملFOAL 2004 Proceedings Foundations of Aspect - Oriented Languages
Aspects are intended to add needed functionality to a system or to treat concerns of the system by augmenting or changing the existing code in a manner that cross-cuts the usual class or process hierarchy. However, sometimes aspects can invalidate some of the already existing desirable properties of the system. This paper shows how to automatically identify such situations. The importance of sp...
متن کامل